package com.example.springbooteasycode.utils.tablepdf.bad;

import org.apache.poi.xwpf.usermodel.*;

import java.io.FileOutputStream;
import java.io.IOException;

/**
 * 生成Word文档
 * @author: boykchen
 */
public class SurveyResultWordSimpleGenerator {

    public static void main(String[] args) throws IOException {
        XWPFDocument document = new XWPFDocument();

        // 设置问卷基础信息表格
        questionnaireInfoTableToDocument(document);


        // 输出到文件
        try (FileOutputStream out = new FileOutputStream("/Users/boykchen/Desktop/survey_results-SimpleStyle.docx")) {
            document.write(out);
        }

    }

    private static void questionnaireInfoTableToDocument(XWPFDocument document) {
        // 实现问卷基础信息表格的创建
        XWPFTable table = document.createTable(4, 2);

        // 设置名称
        table.getRow(0).getCell(0).setText("名称");
        table.getRow(0).getCell(1).setText("物业服务满意度2024年度调查");

        // 设置时间
        table.getRow(1).getCell(0).setText("时间");
        table.getRow(1).getCell(1).setText("2024-10-12 16:41:06至 202410-14 09:12:14");

        // 设置发布者
        table.getRow(2).getCell(0).setText("发布者");
        table.getRow(2).getCell(1).setText("新物业");

        // 设置收集数
        table.getRow(3).getCell(0).setText("收集数");
        table.getRow(3).getCell(1).setText("4份");
    }

//    private static void questionnaireInfoTableToDocument(XWPFDocument document) {
//        // 实现问卷基础信息表格的创建
//        XWPFTable table = document.createTable(4, 2);
//
//        // 设置表格样式
//        setTableStyles(table);
//
//        // 设置名称
//        setTableCells(table.getRow(0), "名称", "物业服务满意度2024年度调查");
//
//        // 设置时间
//        setTableCells(table.getRow(1), "时间", "2024-10-12 16:41:06至 2024-10-14 09:12:14");
//
//        // 设置发布者
//        setTableCells(table.getRow(2), "发布者", "新物业");
//
//        // 设置收集数
//        setTableCells(table.getRow(3), "收集数", "4份");
//    }

//    /**
//     * 设置表格样式
//     *
//     * @param table 表格对象
//     */
//    private static void setTableStyles(XWPFTable table) {
//        // 设置表格宽度为固定值
//        CTTblWidth tblWidth = table.getCTTbl().getTblPr().getTblW();
//        if (tblWidth == null) {
//            tblWidth = table.getCTTbl().getTblPr().addNewTblW();
//        }
//        tblWidth.setType(STTblWidth.DXA);
//        tblWidth.setW(BigInteger.valueOf(0)); // 自适应宽度
//
//        for (int i = 0; i < table.getRows().size(); i++) {
//            XWPFTableRow row = table.getRow(i);
//            for (int j = 0; j < row.getTableCells().size(); j++) {
//                XWPFTableCell cell = row.getCell(j);
//                XWPFParagraph para = cell.getParagraphs().get(0);
//                para.getCTP().addNewPPr().addNewJc().setVal(STJc.CENTER); // 居中对齐
//                para.getCTP().addNewPPr().addNewInd().setLeft(BigInteger.valueOf(720)); // 左边距
//            }
//        }
//    }
//
//    /**
//     * 设置单元格样式
//     *
//     * @param row   单元格所在的行
//     * @param title 标题文本
//     * @param value 值文本
//     */
//    private static void setTableCells(XWPFTableRow row, String title, String value) {
//        // 设置标题单元格样式
//        XWPFTableCell cellTitle = row.getCell(0);
//        cellTitle.removeParagraph(0);
//        cellTitle.addParagraph().createRun().setText(title);
//        cellTitle.getCTTc().addNewP().addNewR().addNewT().setStringValue(value);
//    }

}
